//扩展函数方法集合
import {imgUrlReplace} from './tools'

/**
 * 根据field对课程信息进行过滤
 * @param {*} courseData 课程信息courses
 * @param {*} field 0/1/2/3
 * @param {*} doSlice true/false 对后端数据进行裁取
 * @returns 返回过滤的内容
 */
function filterFieldData(courseData, field, doSlice) {
  const _data = courseData.filter((item, index) => {
    //传进来的feild=all时证明是全部,返回全部内容
    if (field === 'all') {
      return true;
    }

    //否则返回对应的内容
    return item.field === field;
  });

  //在首页只能显示4条信息时
  return doSlice ? _data.slice(0, 4) : _data;
}

/**
 * 封装使用导航器跳转页面(使用React Navigation库)
 * @param {*} navigation RN提供的对象
 * @param {*} pageName 跳转至页面的名称
 * @param {*} params 携带参数对象
 */
function directToPage(navigation, pageName, params) {
  // return function () {
    
  // }

  navigation.navigate(pageName, params);
}

function formatUrl(dataName, state, cb) {
  //1.遍历
  state[dataName].forEach((item) => {
    //2.替换
    switch (dataName) {
      case 'swiperData':
        item.img = imgUrlReplace(item.img);
        break;
      case 'recomCourseData':
        item.course_img = imgUrlReplace(item.course_img);
        item.teacher_img = imgUrlReplace(item.teacher_img);
        break;
      case 'courseData':
        item.img = imgUrlReplace(item.img);
        break;
      default:
        break;
    }
  });

  //传入修改好的state数据
  cb && cb(state);
}

export {
  filterFieldData,
  directToPage,
  formatUrl
}